package io.zhengsh.nio.filelock;

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.channels.FileChannel;
import java.nio.channels.FileLock;

public class FileLockDemo {


    public static void main(String[] args) throws IOException {
        // 创建 FileChannel 对象，文件锁只能通过 FileChannel 对象来使用
        String pathName = "/Users/zhengsh/sourcecode.io/zhengsh-vvip/nio/src/main/resources/01.txt";
        FileChannel fileChannel = new FileOutputStream(pathName).getChannel();

        // 对文件加锁
        FileLock lock = fileChannel.lock();

        // 对此文件进行读写操作
        // ....

        // 释放锁
        lock.release();
    }

}
